home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / WIN_VID / QTFLAT.ZIP;1 / QTFLAT.TXT < prev   
Encoding:
Text File  |  1994-06-23  |  5.0 KB  |  111 lines

  1. Here and further: I realize that term "flatten" has originally a different 
  2.           meaning. Here it means: make QuickTime movie playable on
  3.           non-Mac platform.
  4.  
  5.  
  6.                 QTFLAT
  7.             QuickTime Flattener for DOS.
  8.                   Version 1.1
  9.  
  10.  
  11.     This program is based on my own investigatons of flattened and
  12. unflattened QuickTime Movies. So it may work and may not. But I hope it'll
  13. solve part of your problem with QuickTime for Windows.
  14.  
  15.  
  16.           The structure of QuickTime movies.
  17.  
  18. Data fork of the movie begins with 8 bytes:
  19.       first 4 bytes - Double Word (apple double word - reversed sequence of
  20.               bytes - higher byte - lower address) - offset of Movie
  21.               Description (that's my guess. When I switched it with
  22.               the one from another movie all the movie all the movie
  23.               info was taken from it (and the screen turned into crap
  24.               )). If this value is 0 the movie is unflattened and
  25.               this Movie Description locates in resorce fork.
  26.  
  27.     second 4 bytes - the string 'mdat'. I decided that to be a signature.
  28.  
  29. Resource Fork begins with apple dword that points to a chain of data chunks 
  30.     with structure: appleDword length , length bytes of data. One of data 
  31.     chunks is movie description.
  32.  
  33. Movie Description begins with 8 bytes:
  34.     first 4 bytes - Apple Double Word - length of Movie Description. If
  35.               the movie is flattened and the end of file doesn't
  36.               follow the Movie Description QTW will say its usual
  37.               'Couldn't open the movie ...'
  38.     second 4 bytes - the string 'moov'. I decided it to be a signature.
  39.  
  40. The Movie Descriptions in the tail of flattened and in the resource fork of
  41. unflattened movie are not exactly the same. But the differences seem to be
  42. unimportant (at least for QTW) since flattened with qtflat.exe movies were
  43. loaded with no problem.
  44.  
  45.  
  46.  
  47.                What this program does.
  48.  
  49.       The program can build flattened movie from separate resource and data
  50. forks according to format described above. It also can check the integrity
  51. of flattened QuickTime file and try to fix it if it's not correct. Program
  52. recognizes the macbinary headers and skips them.
  53. Call it:
  54.  
  55. qtflat.exe Data_fork_file Resource_fork_file Resulting_flattened_movie
  56.  
  57. if you want to build flattened movie from unflattened and
  58.  
  59. qtflat.exe Flattened_movie_file
  60.  
  61. if you want to check the integrity of flattened QuickTime movie.
  62.  
  63.  
  64.           Where to get QT Data and Resource forks.
  65.  
  66. Resource and Data forks I got using PCExchange on Mac to write it on DOS 
  67. diskette (Data fork is the main file. Resorce - the file with the same name
  68. in the directory RESORCE.FRK). And using mac-ette from oak.oakland.edu (or
  69. any othe SimTel mirror) /pub/msdos/diskutil/mac-ette.zip (there's also file 
  70. /pub/msdos/mac/macdisk.txt (I'm not sure about the name) describing the 
  71. programs to read Mac disks on PC).
  72.  
  73.     The QT files from Internet are usually BinHexed .SIT,.CPT or .SEA 
  74. archives of QT movies. HexBin (DeBinHex) for DOS is available at oak.oakland.edu
  75. /pub/msdos/mac or other SimTel mirror. There's also Unsit (Unstuffit) for DOS
  76. there. Xbin.exe produces 3 files: file.dat file.res file.inf. You need to join
  77. file.inf and file.dat to unsit it. Type: copy file.inf/b+file.dat/b file.sit.
  78. Then  Unstufit x file.sit. That gives two files: resource and data fork (You'll
  79. be prompted to name them). Then you can use my program on them.
  80.  
  81.     Unfortunately Unstufit handles not any .SIT file. And I haven't seen 
  82. UnCPT for DOS yet. I found the following solution. There's Mac Emulator for IBM
  83. available at  ftp.funet.fi somewhere /pub/msdos/.../emulators/exctr12a.zip 
  84. called Executor. The pack contains BinHex 5.0 and Compact Pro. Place it in 
  85. Executor directory in a root directory. Executor can access DOS disks, Mac 
  86. diskettes and simulated Mac volumes (contained in DOS files). So you start 
  87. Executor, run BinHex 5.0 (important - remove everything in binhexed file up 
  88. to the line (This must me converted....)) choose Open, Press (Drive) till you 
  89. get to the DOS disk (The only disk where Executor is located will be available),
  90. select .hqx file. Then exit Binhex, run Compact Pro and open the debinhexed 
  91. archive. Extract the file to temporarily Mac volume (create it with enclosed 
  92. mkvol.exe and call exdemos1.hfv). Compact Pro refuses to uncompress directly 
  93. to DOS disk. Then choose HFS_Xfer from system menu and copy the file to DOS 
  94. disk. It'll produce two files: file and %file. %file is resource fork. It 
  95. differs from usual resource fork so use /e switch running my program:
  96.  
  97.  qtflat /e file %file file.mov.
  98.  
  99.     Executor doesn't always work smoothly. Sometimes HFS_Xfer produces
  100. crap. Sometimes errors appear while accessing Mac diskettes. But it does the
  101. job. But if you intend to handle big files you'll need either to register or
  102. crack Executor because it has 10 work limit.
  103.  
  104. A couple of flattened movies (unplayable by QTW but fixed by my program)
  105. I got using Veronica Gopher search.
  106.  
  107. Great thanks to Mark Podlipec who gave me source of his flattener for UNIX.
  108.  
  109. Hope that helps.
  110.  
  111. Alex Novikov (hcc@ncc.free.net).